从整车控制器VCU模型入门simulink(1) |
您所在的位置:网站首页 › simulink help库中的模型仿真 › 从整车控制器VCU模型入门simulink(1) |
学习一门语言或者一门技术,最烦的就是长篇大论的理论和脱离实际的练习,我想正在阅读这篇文章的你一定深有体会,既然认识到了这样的痛点,我们接下来就换一种方式来学,通过实际工程中能运用到模型来逐步入门simulink建模。 下面就以电动车整车控制器(VCU)的部分控制模型来做相关介绍。 模型顶层主要三部分构成,输入信号(计算用实时参数及错误状态标志位),主控模块(核心控制算法)以及输出信号(对执行器的控制参数)。 这部分我们主要学习输入输出模块,信号线处理和子系统。 输入输出模块 在模块库(Simulink Library Browser)里的常用模块(Commonly Used Blocks)或者接口子系统模块(Ports&Subsystems)中可以找到输入输出模块。 把模块拖到工作区后双击可打开模块参数设置对话框: port number:In模块的编号,根据拖入工作区的顺序编号; icon display:模块在工作区显示的内容; interpolate data:当将workspace的数据导入模型时,对没有对应数据点的采样时刻进行线性插值; Bus Creator模块 各种信号输入模块用一条“粗黑线” 汇总到一起,这个“粗黑线”就是常用的Bus Creator模块 在学习Bus Creator模块前我们先区分下Bus信号的虚拟信: 1)虚拟Bus信号 虚拟信号使用自身的存储空间,连接虚拟Bus信号的模块在仿真时会到Bus输入信号的存储空间读取信号的值,输出时找到虚拟Bus信号的存储空间再写值进去,这些存储空间并不一定连续。 2)非虚拟Bus信号 非虚拟Bus信号在模型代码生成时将Bus信号生成结构体。数据访问时,连接非虚拟Bus信号的模块在读取和写入值时并非直接访问Bus信号的存储空间,而是将非虚拟Bus信号的内容拷贝到一个连续的存储空间再进行读写,所以速度比虚拟Bus信号要慢一些,并且数据拷贝占用的存储空间也比虚拟Bus信号多。非虚拟Bus信号中的每一个成员信号都必须具有相同的采样时间。 属性窗口: Number of inputs: 表示输入信号的个数; Signal in the bus: 显示输出的总线信号已经存在的成员信号,可以增加/删除/移动信号; Output data type: 规定输出信号的数据类型。输出虚拟总线信号,选择Inherit:auto或Bus: ; 输出非虚拟总线信号,选择Bus:的同时还要勾选Output as nonvirtual bus; Output as nonvirtual bus: 当Output data type选择为Bus:,出现勾选框,勾选时表示输出信号是非虚拟信号,在C代码生成时将输出总线信号定义为结构体。 顶层模型说完我们进入主控模块,看一看子层模型又是怎样的风景: 图中六个灰色方框就是子系统(Subsystem),其功能类似于编程语言中的子函数。 下面我们先介绍下子系统的创建和封装,再依照整车控制模型的子系统层层剥开它的使用方法。 创建Subsystem子系统 建立子系统有两种方法:在模型中新建子系统或者在已有的模块上生成。 前者是在模块库中找到Subsystem模块,再在其中添加模型。 后者是框选已有的模型,单机鼠标右键创建子系统。 封装Subsystem子系统 在封装对话框中的设置参数,主要有Icon,Parameter,Initialization和Documentation四个选项卡。 1)Icon选项卡 Icon选项卡用于设定封装模块的名字和外观。Drawing Commands输入栏用于建立用户化的图标,可以输入相关命令显示文本、图像、图形或者传递函数等。图中举例,是绘制了一个简单正弦函数作为外观显示。 2)Parameters & Dialog选项卡 Parameters & Dialog选项卡用于输入变量名称和相应提示。 Prompt:输入变量的提示,其内容会显示在输入提示中; Variable:输入变量的名称; Type:给用户提供设计编辑区的选择。Edit提供一个编辑框;Checkbox提供一个复选框;Popup提供一个弹出式菜单; 3)Initialization选项卡 Initialization选项卡用于初始化封装子系统,即用户参数的初始化设置。 4)Documentation选项卡 Documentation选项卡用于编写封装系统对应的Help说明及文字说明。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |